﻿using System.ComponentModel;
using System.Web.Mvc;
using Nop.Web.Framework;
using Nop.Web.Framework.Mvc;

namespace Nop.Plugin.Payments.PayPalExpress.Models
{
    public class ConfigurationModel : BaseNopModel
    {
        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.UseSandbox")]
        public bool UseSandbox { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.TransactMode")]
        public int TransactModeId { get; set; }
        [DisplayNameAttribute("Transaction mode")]
        public SelectList TransactModeValues { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.ApiAccountName")]
        public string ApiAccountName { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.ApiAccountPassword")]
        public string ApiAccountPassword { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.Signature")]
        public string Signature { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.BusinessEmail")]
        public string BusinessEmail { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.PDTToken")]
        public string PdtToken { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.PDTValidateOrderTotal")]
        public bool PdtValidateOrderTotal { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.AdditionalFee")]
        public decimal AdditionalFee { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.PassProductNamesAndTotals")]
        public bool PassProductNamesAndTotals { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.EnableIpn")]
        public bool EnableIpn { get; set; }

        [NopResourceDisplayName("Plugins.Payments.PayPalExpress.Fields.IpnUrl")]
        public string IpnUrl { get; set; }
    }
}